/*
 * Copyright 2006 Mat Gessel <mat.gessel@gmail.com>
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package asquare.gwt.tkdemo.client.ui.behavior;

import asquare.gwt.tk.client.ui.behavior.ControllerAdaptor;

import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.*;

/**
 * A controller to drive legacy GWT mouse event listeners. 
 */
public class LegacyMouseController extends ControllerAdaptor implements SourcesMouseEvents
{
	private final MouseListenerCollection m_mouseListeners = new MouseListenerCollection();
	
	public LegacyMouseController()
	{
		super(Event.MOUSEEVENTS, LegacyMouseController.class);
	}
	
	public boolean doBrowserEvent(Widget widget, Event event)
	{
		m_mouseListeners.fireMouseEvent(widget, event);
		return true;
	}

	public void addMouseListener(MouseListener listener)
	{
		m_mouseListeners.add(listener);
	}

	public void removeMouseListener(MouseListener listener)
	{
		m_mouseListeners.remove(listener);
	}
}
